// import {setToken, removeToken} from '@/util/auth'
// import {getUserInfoById} from '@/services/user'

// export default{
//     namespaced: true,
//     state:{
//         user: undefined,
//         roles:null,
//         token:null
//     },
//     mutations:{
//         setUser(state,user){
//             state.user = user
//             setToken(user.userId)  //传给auth里的setToken
//         },
//         setRoles(state,roles){
//             state.roles = roles
//         },
//         resetState(state){
//             state.user = undefined;
//             state.roles= null;
//         },
//         setToken(state,token){
//             state.token = token,
//             setToken(token)
//         }
//     },
//     actions:{   //路由：地址发生变化时 传参数
//         getUserInfo(context,userId){   
//             console.log('cl')          //传给service里的users
//             console.log(userId)            
//             return new Promise((resolve,reject)=>{
//                 getUserInfoById(userId).then((res)=>{           //由拦截器response传回来
//                     if(res.success){
//                         // context.commit('setUser',{
//                         //     userId: res.data.userId,    //res 为形参  data为模拟后端mock传回来的数据  usrId为myindex的return回来的值
//                         //     userName:res.data.userName,
//                         //     userNo:res.data.userNo
//                         // })
//                         // context.commit('setRoles',res.data.userRole)
//                         resolve()
//                     }else{
//                         reject()
//                     }

//                 }).catch((error)=> {
//                     reject(error)
//                 })
//             })
//         },
//         resetToken({ commit }){                 //将存在cookies的东西删除
//             return new Promise((resolve) =>{
//                 removeToken()
//                 commit('resetState')
//                 resolve()
//             })
//         }
//     }
// }

import {setToken, removeToken} from '@/util/auth'
import {getUserInfoById} from '@/services/user'

export default{
    namespaced: true,
    state:{
        user: undefined,
        token:null,
    },
    mutations:{
        setUser(state,user){
            state.user = user
        },
        resetState(state){
            state.user=undefined
            state.token = null
        },
        setToken(state,token){
            state.token = token;  //保存token
        }
    },
    actions:{
        getUserInfo(context,params){
            return new Promise((resolve,reject)=>{
                getUserInfoById(params).then((res)=>{
                    console.log(res)
                    console.log('--------------')
                    if(res.success){
                        context.commit('setUser',res.data)
                        resolve()
                    }else{
                        reject()
                    }

                }).catch((error)=> {
                    reject(error)
                })
            })
        },
        resetToken({ commit }){
            return new Promise((resolve) =>{
                removeToken()
                commit('resetState')
                resolve()
            })
        }
    }
}
